package com.itheima.api_demo.objects_demo;

import java.util.Objects;

/*
    Object类 :
        public boolean equals(Object obj)

    == : 比较运算符(关系运算符)
    比较基本数据类型 : 比较的是数据值是否相等!
    比较引用数据类型 : 比较的是地址值是否相等!

    结论 : !!!
        1 如果一个类没有重写equals方法 , 那么比较次类的对象比较的是地址值是否相等
        2 如果一个类重写了equals方法 , 那么比较的是对象的内容是否相等!
 */
public class EqualsDemo {
    public static void main(String[] args) {
        Student s1 = new Student("李沁", 18);
        s1 = null;
        Student s2 = new Student("李沁", 18);

        if(s1 != null) {
            System.out.println(s1.equals(s2));
        }

        // Objects : 对象工具类
        System.out.println(Objects.equals(s1, s2));

        /*
             public static boolean equals(Object a, Object b) {
                 // a = s1
                 // b = s2
                return (a == b) || (a != null && a.equals(b));
             }
         */

    }

}
